knitr::opts_chunk$set(message = FALSE, warning = FALSE)Die teuersten AirBnbs in New York
Methodik:
Unsere Daten für das Projekt und die Analyse haben wir von Kaggle.com genommen.
https://www.kaggle.com/datasets/thedevastator/airbnbs-nyc-overview
Vorgehensweise:
- Schritt: Analyse, der von Kaggle zur Verfügung gestellten Daten
- Schritt: Festlegung der Plots, die dargestellt werden sollen
- Schritt: Aufbereitung der Daten mit R
- Schritt: Programmierung der Plots
Für die Programmierung wurden hauptsächlich die offiziellen Seiten der Bibliotheken Plotly und Leaftlet verwendet.
Fragestellung:
Wo liegen in New York die teuersten AirBnbs?
Aufgabgenstellung:
Unsere Aufgabenstellung war es mit den Libraries Leaflet und Plotly unsere Resultate und Analyse darzustellen. Bei der Analyse handelte es sich darum, wo sich die teuersten AirBnbs in New York befinden.
Installation der Libraries
#install.packages("tidyverse")
#install.packages("plotly")
#install.packages("DT")
#install.packages("rjson")
#install.packages("leaflet")
#install.packages("RColorBrewer")
#install.packages("sf")Laden der Libraries
library(dplyr)
library(plotly)
library(DT)
library(rjson)
library(leaflet)
library(RColorBrewer)
library(sf)Einlesen von Dateien
data <- read.csv("Data/train.csv", sep = ",")
#Einlesen der Bezirksdaten von New York: https://data.beta.nyc/dataset/pediacities-nyc-neighborhoods/resource/35dd04fb-81b3-479b-a074-a27a37888ce7
county_data <- fromJSON(file="Data/nyc_geojson.json")
# View the first few rows of the data
datatable(head(data))Berechnung minimum Preis
Hier wird berechnet, wie hoch der minimum Betrag ist, der gezahlt werden muss, um in den entsprechenden Unterkünften hausen zu können.
data <- data %>%
mutate(min_price_to_pay = minimum_nights * price)Nachbarschaften und deren Anzahl Airbnb’s
Hier werden die Anzahl Airbnb’s pro Nachbarschaft dargestellt in einem neuen Dataframe für die Übersichtlichkeit.
listings_per_neighborhood <- data %>% count(data$neighbourhood)
datatable(listings_per_neighborhood)Nachbarschaftsgruppen (“Bezirke”) und deren Anzahl Airbnb’s
Hier werden die Anzahl Airbnb’s pro Nachbarschaftsgruppe(“Bezirk”) dargestellt in einem neuen Dataframe für die Übersichtlichkeit.
listings_per_neighborhood_group <- data %>% count(data$neighbourhood_group)
datatable(listings_per_neighborhood_group)Analyse: Preis pro Nacht
Dieser Part geht es ausschlieslich um den Preis pro Nacht aller Airbnb’s um herauszufinden welche am teuersten nach diesem Kriterium sind.
Sortierung der Preiskategorien
Hier wurden die Preise pro Nacht kategorisiert.
grouped_by_price_range <- data %>%
mutate(PriceCategory = case_when(
price >= 0 & price <= 100 ~ "low ($0 - $100)",
price > 100 & price <= 250 ~ "medium ($100 - $250)",
price > 250 & price <= 1000 ~ "high ($250 - $1000)",
price > 1000 ~ "very high ($1000)"
))Histogramm Price per Night
Mitden vorhin kategorisierten Daten, konnten wir dies in einem Histogramm darstellen.
fig <- plot_ly(
grouped_by_price_range,
x = ~PriceCategory,
type = "histogram"
)
fig <- fig %>% layout(title = "Histogram price per night", xaxis = list(categoryorder = "array", categoryarray = c("low ($0 - $100)", "medium ($100 - $250)", "high ($250 - $1000)", "very high ($1000)")))
figBoxplot Preis pro Nacht
Hier wurde der Preis pro Nacht aller Airbnb’s dargestellt.
Wie man hier sieht, kann man aus dem nicht wirklich Schlüsse ziehen, ausser das es einige Ausreisser gibt die mehrere Tausend Dollar pro Nacht kosten.
#boxplot(data$price, main="Boxplot for Pricing", ylab="Price per Night")
boxplot <- plot_ly(df = data, x = ~data$price, type = "box", name = "Price per Night")
# Add layout options (optional)
boxplot <- boxplot %>% layout(title = "Boxplot Price per Night", xaxis = list(title = "Price per Night"))
# Show the plot
boxplot